package buffer1;

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;

/*练习四:高效字符流读写数据
        描述:
        项目根路径下有text.txt文件，内容如下：
        我爱黑马
        123456
        利用IO流的知识读取text.txt文件的内容反转后写入text1.txt文件中，内容如下：
        123456
        我爱黑马

        提示：List集合反转元素的顺序时，用到了如下API。
        java.util类 Collections
static void	reverse(List<?> list)
                  反转指定列表中元素的顺序。
        */
public class Test13 {//定义一个测试类
    public static void main(String[] args) throws Exception {//main方法入口并抛出异常
        BufferedReader br = new BufferedReader(new FileReader("IO\\text.txt"));//创建字符缓冲输入流读取指定文件目录下的数据
        BufferedWriter bw = new BufferedWriter(new FileWriter("IO\\textcopy.txt"));//创建字符输出流将读取的数据写入到指定目录下
        ArrayList<String> list = new ArrayList<>();//创建集合对象
        String line;//定义读取行数变量
        while ((line = br.readLine()) != null) {//使用while循环进行读取
            list.add(line);//将读取的每一行数据添加到集合中
        }
        Collections.reverse(list);//同时将集合进行反转
        for (String s : list) {//遍历集合得到每一个元素
                 bw.write(s);//使用字符缓冲输出流将得到的每一个数据写入到指定文件目录下
                 bw.newLine();//换行
        }
        br.close();//关闭资源
        bw.close();//关闭资源

    }


}

